import java.util.ArrayList;
import java.util.List;

import minijava.node.*;
import minijava.analysis.*;

public class Translation extends DepthFirstAdapter {

	
    public void outAProgram(AProgram node)
    {
    	System.out.print("PROGRAM");    	
        System.out.println("-" + node + "-");defaultOut(node);
    }
    	
    public void outAMainclass(AMainclass node)
    {
    	System.out.print("MAINCLASS");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAToplevelClassdecl(AToplevelClassdecl node)
    {
    	System.out.print("TOPLV_CLASSDECL");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outASubclassClassdecl(ASubclassClassdecl node)
    {
    	System.out.print("SUBLV_CLASSDECL");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAVardecl(AVardecl node)
    {
    	System.out.print("VARDECL");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAMethoddecl(AMethoddecl node)
    {
    	System.out.print("METHDECL");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAFormtodosist(AFormtodosist node)
    {
    	System.out.print("FORMTODOSIST");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAFormalrest(AFormalrest node)
    {
    	System.out.print("FORMALREST");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAIntarrayType(AIntarrayType node)
    {
    	System.out.print("INTARRAY");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outABooleanType(ABooleanType node)
    {
    	System.out.print("BOOLEAN");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAIntType(AIntType node)
    {
    	System.out.print("INTEGER");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAIdentificadorType(AIdentificadorType node)
    {
    	System.out.print("IDENTIFIER");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAM1Statement(AM1Statement node)
    {
    	System.out.print("M1_STM");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAU1Statement(AU1Statement node)
    {
    	System.out.print("U1_STM");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outABlockM(ABlockM node)
    {
    	System.out.print("BLOCK_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAIfM(AIfM node)
    {
    	System.out.print("IF_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAWhileM(AWhileM node)
    {
    	System.out.print("WHILE_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAPrintM(APrintM node)
    {
    	System.out.print("PRINT_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAIgualM(AIgualM node)
    {
    	System.out.print("EQUAL_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAIndexM(AIndexM node)
    {
    	System.out.print("INDEX_M");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAU1U(AU1U node)
    {
    	System.out.print("U1_U");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAU2U(AU2U node)
    {
    	System.out.print("U2_U");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAU3U(AU3U node)
    {
    	System.out.print("U3_U");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAOpExp(AOpExp node)
    {
    	System.out.print("OP_EXP");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outADsfsExp(ADsfsExp node)
    {
    	System.out.print("DSFS_EXP");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outANotExp(ANotExp node)
    {
    	System.out.print("NOT_EXP");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAIndexExpfactor(AIndexExpfactor node)
    {
    	System.out.print("INDEX_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outALengthExpfactor(ALengthExpfactor node)
    {
    	System.out.print("LENGTH_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outACtodosExpfactor(ACtodosExpfactor node)
    {
    	System.out.print("TODOS_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAIntliteralExpfactor(AIntliteralExpfactor node)
    {
    	System.out.print("INTLITERAL_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outATrueExpfactor(ATrueExpfactor node)
    {
    	System.out.print("TRUE_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }
    
    public void outAFalseExpfactor(AFalseExpfactor node)
    {
    	System.out.print("FALSE_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAIdentificadorExpfactor(AIdentificadorExpfactor node)
    {
    	System.out.print("ID_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAThisExpfactor(AThisExpfactor node)
    {
    	System.out.print("THIS_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }


    public void outANewarrayExpfactor(ANewarrayExpfactor node)
    {
    	System.out.print("NEWARRAY_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    
    public void outANewExpfactor(ANewExpfactor node)
    {
    	System.out.print("NEW_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    
    public void outANestedExpfactor(ANestedExpfactor node)
    {
    	System.out.print("NESTED_EXP_FACTOR");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    
    public void outAExplist(AExplist node)
    {
    	System.out.print("EXP_LIST");
        System.out.println("-" + node + "-");defaultOut(node);
    }

    public void outAExprest(AExprest node)
    {
    	System.out.print("EXP_EXPREST");
        System.out.println("-" + node + "-");defaultOut(node);
    }

	
}
